Response characterization of an electronic system under variability effects

ABSTRACT

A method and device for performing a characterization of a description of the composition of an electronic system in terms of components used are disclosed. Performances of the components are described by at least two statistical parameters and one deterministic parameter. In one aspect, the method includes selecting a plurality of design of experiments (DoE) points, performing simulations on the selected DoE points, thus obtaining system responses, and determining a response model using the selected DoE points and the system responses. Selecting the DoE points includes making a first selection of a reduced set of chosen DoE points for the statistical parameters representing the statistical properties of the many possible statistical parameter realizations, and making a second selection of DoE points for the deterministic parameter representing the possible limited set of values that such parameter can take.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority under 35 U.S.C. §119(e) to U.S. provisional patent application 61/295,626 filed on Jan. 15, 2010, which application is hereby incorporated by reference in its entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to methods for characterization of electronic systems under variability effects, e.g. process variability effects such as random process variability effects or effects of variability due to ageing, and to systems, apparatus and modeling tools implementing such methods.

2. Description of the Related Technology

Previously, new advances in CMOS circuit design primarily relied on technology improvements derived from scaling. Process variability and reliability issues of sub-45 nm CMOS devices significantly contribute to make electronic system responses (for instance delay and power of logic gates) random variables. Such process related issues have been imposing new challenges to the design of reliable integrated circuits.

Monte Carlo (MC) simulation is often employed for characterization of electronic components to obtain the probability density function (PDF) of the system output. Such approach allows variability-aware design to be implemented with minor changes to existing design tools. A large number N of runs is required for the statistical estimators to converge, since the error is ≈1/√{square root over (N)}. The problem with running MC simulations using thousands of simulations is that each simulation requires a long runtime and thus the MC simulation time becomes prohibitive.

The use of Design of Experiments in combination with Response Modeling is not new in electronic system modeling and its use was originally proposed by A. Alvarez, et al., in “Application of statistical design and response surface methods to computer-aided vlsi device design,” IEEE Trans. on CAD, vol. 7, no. 2, pp. 272-288, February 1988.

U.S. Pat. No. 6,381,564 provides a method and system for providing optimal tuning for complex simulators. The method and system include initially building at least one RSM (response surface methodology) model having input and output terminals. Then there is provided a simulation-free optimization function by constructing an objective function from the outputs at the output terminals of the at least one RSM model and experimental data. The objective function is optimized in an optimizer and the optimized objective function is fed to the input terminal of the RSM. Building of at least one RSM model includes establishing a range for the simulation, running a simulation experiment for the designed experiment, extracting relevant data from the experiment and building the RSM model from the extracted relevant data. The step of running a simulation experiment comprises the step of running a DOE operation. The objective function is, for example, the square root of the sum of the squares at all of the differences between the target values and the observed values at all points being investigated.

Common to all known prior art solutions is the use of statistical un-aware DoE methods like Central-Composite-Design, full factorial and/or Box-Behnken Design.

SUMMARY OF CERTAIN INVENTIVE ASPECTS

Certain inventive aspects reduce the simulation time required to statistically characterize an electronic system (for example a complete standard cell library consisting of several thousands of cells) from the hundreds of CPU-days required when using Monte Carlo simulations to a lot less, e.g. a few CPU-hours, with a reduction of several orders of magnitude in computation effort. By applying a method or by using a device according to certain inventive aspects, no accuracy is lost.

In a first aspect, there is a method, more particularly an automated method, for performing a characterization of a description of the composition of an electronic system, for example an essentially digital circuit, in terms of a plurality of components used, for example a transistor level circuit description, performances of the plurality of components, for example transistor variations, being described by at least two statistical parameters and at least one deterministic parameter. The statistical parameters and the at least one deterministic parameter may be due to variations in the manufacturing process of the plurality of components, to circuit or environmental conditions (e.g., changes in load, input slew rate due to noise, temperature, etc) and/or to degradation of the electronic component parameters as consequence of ageing. A technique according to some embodiments is generally applicable to any electronic system that comprises a set of electronic components wherein the system's response is affected by changes in the parameters that are responsible for its electrical behavior. Examples of such components can be electrical elements such as resistors, capacitors, diodes, transistors, or electrical sub-systems such as logic gates, memories, IP blocks. Moreover, the method according to certain embodiments is particularly useful for electronic circuits and systems that are expressed using connectivity netlists of active electronic elements such as transistors and diodes and passive electronic elements such as resistors, inductors and capacitors. The method according to certain embodiments comprises selecting a plurality of design of experiments points, performing simulations, e.g. electrical simulations or behavioral simulations, on the selected plurality of design of experiments points, thus obtaining system responses, e.g. electrical or behavioral system responses, and determining a response model via e.g. regression analysis, response surface approximation or any other suitable model estimation technique, using the plurality of selected design of experiments points and the system responses.

In accordance with certain embodiments, selecting the plurality of design of experiments points comprises making a first selection of a reduced set of well chosen design of experiments points for the statistical parameters that are representative of the statistical properties of the many, thus theoretically unlimited, number of possible statistical parameter realizations, such as for example transistor threshold value and transistor gain, and making a second selection of design of experiments points for the at least one deterministic parameter that is representative of the possible limited set of values that such parameter can take, such as for example possible ranges in transistor slew rate and/or transistor load. Such combination of well chosen statistical design of experiment points and deterministic design of experiment points provides a compact, thus limited, set of design of experiment points capable of representing the properties of any, thus theoretically unlimited, combination of component parameters regardless of their nature, statistical and/or deterministic. Thus, such combinations of statistical and deterministic set of design of experiment points in accordance with certain embodiments reduces the number of parameter combinations that need to be considered to obtain the response of the system via expensive simulations, e.g. electrical or behavioral simulations, from the many, thus theoretically unlimited, to a minimum set, hence reducing CPU-time effort by several orders of magnitude and increasing the speed of the simulations. The selection of the plurality of design of experiments points may be performed by technical means, such as for example a suitably programmed processor.

In certain embodiments, selecting the plurality of design of experiments points may comprise entering a statistical confidence level, and making a first selection of DoE points for the statistical parameters may comprise selecting those points of a statistical parameter distribution which are representative of the statistical parameters based on representativeness of the statistical confidence level at a particular “distance” from the bulk of such statistical parameter distribution. It is therefore possible to define the area of interest of the statistical domain parameter where the method needs to provide maximum modeling accuracy which is system topology dependent. For instance, estimating the response of a memory cell memory requires having a good confidence level at distances six to nine sigma far off the bulk of the statistical population of the variation parameters, while for a logic cell such distance can be three to four sigmas. The distance required directly relates with the number of times an electronic component is included in the composition of the electronic system.

In certain embodiments, making a first selection of design of experiment points for the statistical parameters may include constructing a “closed form” multi-dimensional probability density function (PDF) representing a multivariate statistics dataset of the description of the composition of the electronic system, the probability density function showing a distribution of statistical parameters, and selecting the design of experiments from such “closed form” multidimensional PDF which allows capturing the statistical correlations between parameters, which is otherwise not possible. Capturing such statistical correlations in a “closed form” is advantageous to guarantee a proper balance of accuracy of the obtained response model in the areas of the statistical input domain that have a reasonable probability against having less accuracy on these areas where the likelihood of the statistical realization of the parameter is very low.

Constructing a multi-dimensional probability density function representing multivariate statistics of the description of the composition of the electronic system in accordance with certain embodiments may comprise partitioning the multivariate statistics dataset into a plurality of cluster components, fitting a multivariate, e.g. normal, distribution to each cluster component and determining its probability density function, and accumulating the multiple probability density functions of the different cluster components into a proportional sum weighted by cluster component size, this being the multi-dimensional probability density function representing the multivariate statistics dataset of the description of the composition of the electronic system.

In particular embodiments, the multi-dimensional probability density function may be n-dimensional, for example 2-dimensional, and the number of selected design of experiments points may be 2n+1. In one embodiment, using a minimum of 2n+1 points a model is guaranteed with cross-terms for the statistical parameters providing much better accuracy than the arbitrary selection of points used in prior art when applied to the selection of such statistical points.

In accordance with certain embodiments, the number of deterministic DoE points depends on the chosen technique for their selection. As an example, the selection of the deterministic DoE may be done according to existing techniques, such as e.g., Central-Composite-Design, full factorial and/or Box-Behnken Design. The number of selected deterministic DoE points should preferably be limited, as an enlarged number of deterministic DoE points leads to an enlarged number of simulations required for a later model fitting step.

The multi-dimensional probability density function may be represented in a PDF contour plot by an ellipsoid contour, the ellipsoid contour having principal ellipsoid axes, in which case the design of experiments points may be selected as lying on the one hand within a predetermined first margin of the ellipsoid describing the contour encompassing a predetermined percentage of the total distribution and on the other hand within a predetermined second margin of the intersects thereof with the principal ellipsoid axes. In particular embodiments, the design of experiments points may be selected as lying both on the ellipsoid describing the contour encompassing a predetermined percentage of the total distribution an on the intersects thereof with the principal ellipsoid axes.

A method according to certain embodiments may furthermore comprise determining a plurality of samples by performing a statistical analysis, such as for example Monte Carlo (MC) simulation, on the determined response model.

A method according to certain embodiments may furthermore comprise generating a closed-form representation of the determined plurality of samples representing a multivariate statistics dataset of the description of the composition of the electronic system using a probability density function of the statistical distribution of statistical parameters.

In a method according to certain embodiments, determining a response model may comprise detecting and removing linear terms that have a negligible contribution to the system response.

A method according to certain embodiments may furthermore comprise, before selecting a plurality of design of experiments points, identifying individual components, e.g. electrical elements or sub-systems, which have no or only limited influence on the system response.

Certain embodiments provide a time-efficient and accurate system characterization flow based on design of experiments and system response modeling, e.g. response surface methodology. The approach is suitable for substituting Monte Carlo simulations at the electric level. The methodology is accurate because a new DoE is implemented, capable of capturing statistical information about the input variables. On the top of that, non-linear regression models may be employed to model the system responses. Moreover, the approach is time-efficient because the number of simulations is reduced by 2 orders of magnitude comparing to conventional MC, without loss of accuracy because of the items described above.

In a second aspect, there is a system-level simulator adapted for carrying out a method according to certain embodiments.

A system-level simulator according to certain embodiments, comprises an input port for receiving a description of the composition of an electronic system in terms of a plurality of components used, an input port for receiving a distribution of statistical properties of the performances of the plurality of components of the electronic system, an input port for receiving a distribution of at least one deterministic parameter of the plurality of components of the electronic system, a selector for selecting a plurality of design of experiments points, a simulator for performing simulations on the selected plurality of design of experiments points, thus obtaining electrical system responses, a modeling unit for determining a response model using the plurality of selected design of experiments points and the electrical system responses, wherein the selector comprises a first sub-selector for making a first selection of design of experiments points for the statistical parameters and a second sub-selector for making a second selection of design of experiments points for the at least one deterministic parameter.

A system-level simulator according to certain embodiments may furthermore comprise an input port for receiving a statistical confidence level, and the selector may be adapted for selecting those points of a statistical parameter distribution which are representative of the statistical parameters based on representativeness of the statistical confidence level at a particular “distance” of the bulk of such statistical parameter distribution.

A system-level simulator according to certain embodiments may furthermore comprise a processor for constructing a multi-dimensional probability density function representing multivariate statistics of the description of the composition of the electronic system, the probability density function showing a distribution of statistical parameters, and for selecting the plurality of design of experiments points based on the distribution of statistical parameters.

One inventive aspect relates to a computer program product for executing a method according to certain embodiments when executed on a computing device associated with a system-level simulator.

A machine readable data storage storing the computer program product according to certain embodiments is also disclosed. The terms “machine readable data storage” or “carrier medium” or “computer readable medium” as used herein refer to any medium that participates in providing instructions to a processor for execution. Such a medium may take many forms, including but not limited to non-volatile media, volatile media and transmission media. Non-volatile media include, for example, optical or magnetic disks, such as a storage device which is part of mass storage. Volatile media include dynamic memory such as RAM. Common forms of computer readable media include, for example, a floppy disk, a flexible disk, a hard disk, magnetic tape or any other magnetic medium, a CD-ROM, any other optical medium, punch cards, paper tapes, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave as described hereafter, or any other medium from which a computer can read.

Various forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to a processor for execution. For example, the instructions may initially be carried on a magnetic disk of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instruction over a telephone line using a modem. A modem local to the computer system can receive the data on the telephone line and use an infrared transmitter to convert the data to an infrared signal. An infrared detector coupled to a bus can receive the data carried in the infrared signal and place the data on the bus. The bus may carry data to main memory, from which a processor may retrieve and execute the instructions. The instructions received by main memory may optionally be stored on a storage device either before or after execution by a processor. The instructions can also be transmitted via a carrier wave in a network, such as a LAN, a WAN or the internet. Transmission media can take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications. Transmission media include coaxial cables, copper wire and fiber optics, including the wires that form a bus within a computer. One aspect relates to transmission of the computer program product according to one embodiment over a local or wide area telecommunications network.

In a further aspect, there is transmission over a local or wide area telecommunications network of results of a method implemented by a computer program product according to certain embodiments and executed on a computing device associated with a system-level simulator. Here again, the signals can be transmitted via a carrier wave in a network, such as a LAN, a WAN or the internet. Transmission media can take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications. Transmission media include coaxial cables, copper wire and fiber optics, including the wires that form a bus within a computer. One aspect relates to transmission of the results of methods according to one embodiment over a local or wide area telecommunications network.

It is an advantage of the methodology for characterization of electronic systems according to certain embodiments that it leads to a two orders of magnitude speedup compared to Monte Carlo, without noticeable loss of accuracy.

Particular claimed aspects of the invention are set out in the accompanying independent and dependent claims. Features from the dependent claims may be combined with features of the independent claims and with features of other dependent claims as appropriate and not merely as explicitly set out in the claims.

Certain objects and advantages of certain inventive aspects have been described herein above. Of course, it is to be understood that not necessarily all such objects or advantages may be achieved in accordance with any particular embodiment of the invention. Thus, for example, those skilled in the art will recognize that the invention may be embodied or carried out in a manner that achieves or optimizes one advantage or group of advantages as taught herein without necessarily achieving other objects or advantages as may be taught or suggested herein.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a traditional Monte Carlo flow for system characterization.

FIG. 2 illustrates a basic method flow according to certain embodiments.

FIG. 3 illustrates a characterization flow according to certain embodiments.

FIG. 4 shows an overview of a method according to certain embodiments.

FIG. 5 illustrates a probability density function generated using a Multicluster Bivariate Normal algorithm (k=1) for ΔV_(t) and Δβ of a NMOS device.

FIG. 6 illustrates the selected Statistical Design of Experiments preserving the correlations among statistically parameters positioned at a region of interest via selectable confidence level. Large square dots represent the selected DoE points.

FIG. 7 shows fitted values and residuals of a full linear response model.

FIG. 8 shows fitted values and residuals of a nonlinear response model obtained by an optimization algorithm according to certain embodiments.

FIG. 9 visualizes a high-level description of a method according to certain embodiments to obtain a sub-linear dependency between the required number of DoE points and the number of electronic components in an electronic system.

FIG. 10 visualizes a description of sub-steps implemented in accordance with certain embodiments to identify a subset of electronic components of an electronic system of which the state changes during system operation.

FIG. 11 compares the histogram of the distribution of the delay between the clock and the Q output signal of a Flip-Flop when computed using 1000 MC electrical simulations (graph 110) and 97 Statistical Design of Experiment points (graph 111). The minimum number of points is 97 because the Flip-Flop contains 24 electronic components, being all transistors and each transistor is subject to 2 variation parameters (V_(t) and β), hence the minimum number of design of experiment points is (2×(2×24)+1). In this example the number of deterministic parameters is limited to one: only one particular combination of load and input slew rate at the clock input is considered.

FIG. 12 illustrates the PDF of a regularized Beta distribution for n=7 and ranks 1 to 7.

FIG. 13 illustrates rank probit distributions for n=7.

FIG. 14 illustrates PDF and FIG. 15 illustrates CDF of a ΔV_(th) distribution.

FIG. 16 illustrates the PDF of the NAND delay comparing RSM in accordance with certain embodiments (17 electrical simulations) to Monte Carlo HSPICE (1000 electrical simulations).

FIG. 17 illustrates a Probit plot of NAND delay comparing RSM in accordance with certain embodiments (17 electrical simulations) to Monte Carlo HSPICE (1000 electrical simulations).

FIG. 18 illustrates a comparison between MC using a sample size of 100 and 1000, respectively, with RSM using a sample size of 1000.

FIG. 19 illustrates the error of a linear RSM compared to a non-linear RSM.

FIG. 20 is a block diagram illustrating one embodiment of a system for performing a characterization of a description of the composition of an electronic system.

The drawings are only schematic and are non-limiting. In the drawings, the size of some of the elements may be exaggerated and not drawn on scale for illustrative purposes.

Any reference signs in the claims shall not be construed as limiting the scope.

In the different drawings, the same reference signs refer to the same or analogous elements.

DETAILED DESCRIPTION OF CERTAIN ILLUSTRATIVE EMBODIMENTS

An electronic system is often constructed from a plurality of electronic components, which may per se be electronic subsystems such as logic gates, memories or IP blocks, or active or passive electronic elements such as transistors, diodes, resistors, capacitors. For example, a digital circuit is often constructed from small electronic circuits called logic gates. Each logic gate represents a function of Boolean logic. A logic gate is an arrangement of electrically controlled switches, most often implemented by means of electronic components, for example transistors.

On-chip-variations (OCV), for example in the fabrication process of electronic elements such as MOS devices or for example due to ageing, cause electronic components such as electronic elements, e.g. transistors, to present different electrical characteristics even when they have the same geometries. Basically these variations in the electronic component electrical characteristics cause their I-V curves to be different. At the electric level, the various I-V curves resulting from variability due to process variations or due to ageing can be modeled as variations in the main electrical characteristics of the electronic components: e.g. voltage and current, for example V_(t) and I_(ds) in case of transistors.

The distributions of the parameters subject to variations due to manufacturing imperfections, environmental noise, degradation and/of ageing effects, such as e.g. ΔV_(t) and Δβ in case of transistors, may be computed through statistical simulation, e.g. Monte Carlo (MC) simulation, of a commercial technology model card. Alternatively, those distributions could as well come from chip measurements. These distributions are inputs to the system characterization flow according to certain embodiments, as well as the system netlist.

FIG. 1 shows a traditional system characterization flow 10 based on Monte Carlo simulations at electric level. A netlist 11 describing the connectivity of the components in the electronic system and information 12 relating to the statistical distribution of parameters relating to the electronic components, (e.g. electronic elements such as transistors, diodes, resistors, capacitors; but also larger groupings of electronic elements such as sub-systems e.g. logic gates, memories, IP blocks; in essence any electronic components comprising inputs/outputs and parameters responsible for their response), in the electronic system are input into a simulation unit, e.g. statistical distributions on the deviations on threshold voltage V_(t) and source-drain current I_(ds). Electrical simulations are performed 13 for N combinations of these parameters from the distribution. The accuracy of the estimators obtained using this prior art flow is limited by the number of electrical simulations N, since the error is approximately ∝1/√{square root over (N)}. Thus, usually the inputting of the netlist and the statistical distribution is repeated—step 14, and a large number N of simulations (often N>1000) is required to satisfy the accuracy required for characterizing transistor level system descriptions. Fluctuations in V_(t) and β are inserted by vaccination considering these parameters as random variables. Based on the large number of simulations, statistical information is computed, and a probability density function is fit through the computed statistical information—step 15.

An alternative case, corresponding to certain embodiments is described in FIG. 2.

One embodiment relates to a method 20 for performing a characterization of a description of the composition of an electronic system in terms of a plurality of electronic components used, such as electronic elements as for example resistors, capacitors, diodes, transistors, or sub-systems comprising a plurality of electronic elements, such as logic gates, memories, IP blocks. The performances of the plurality of electronic components under consideration, e.g. transistor variations, are described by at least two statistical parameters 21, such as for example variations on threshold voltage V_(t) and variations on gain β, and at least one deterministic parameter 22 such as for example slew rate or load. The method comprises selecting—step 23—a plurality of design of experiments points, performing simulations, e.g. electrical simulations or behavioral simulations, on the selected plurality of design of experiments points—step 24—thus obtaining system responses, and determining a response model using the plurality of selected design of experiments points an the system responses—step 25. In accordance with certain embodiments, selecting the plurality of design of experiments points—step 23—comprises making a first selection of design of experiments points from the statistical parameters and making a second selection from design of experiments point from the at least one deterministic parameter. It is advantageous to use a combination of statistical and deterministic design of experiments points in accordance with certain embodiments because such combination of well-chosen statistical design of experiment points and deterministic design of experiment points provides a compact, thus limited, set of design of experiment points capable of representing the properties of any, thus theoretically unlimited, combination of component parameters regardless of their nature, statistical and/or deterministic. Thus, such combinations of statistical and deterministic set of design of experiment points reduces the number of parameter combinations that need to be considered to obtain the response of the system via expensive simulations from the many, thus theoretically unlimited, to a minimum set, hence reducing CPU-time effort by several order of magnitude and increasing the speed of the simulations.

In certain embodiments, selecting the plurality of design of experiments points comprises entering a statistical confidence level. The statistical confidence level is expressed as a percentage, and represents the border line of a region within which the total probability that parameter combinations confined by it occur is equal to the confidence level. In this case, making a first selection of design of experiments points for the statistical parameters comprises selecting those points of a statistical parameter distribution which are representative for the statistical parameters based on representativeness of the statistical confidence level at a particular “distance” of the bulk of such a statistical parameter distribution.

Certain embodiments relate to the following:

-   -   Statistical Aware: Unlike deterministic DoE approaches (e.g.,         Central-Composite-Design, full factorial and/or Box-Behnken         Design) the Statistical DoE in accordance with certain         embodiments selects only design points that are statistically         relevant to the parameter domain distribution.     -   It considers Input Correlations: The statistical DoE in         accordance with certain embodiments properly captures the         existing correlation between input parameters.         -   The Response Model may be based on an Open Model: the model             estimating the system response may be selected on-the-fly             and is not limited to a predefined template function.     -   The approach works under Non-Normality assumption, not limited         to assumptions of any nature for the underlying statistical         distribution of the process parameters (e.g., Gaussian,         lognormal, etc).     -   It allows a selectable level of confidence in a region of         interest.

One embodiment relates to a method for performing a characterization of a description of the composition of an electronic system in terms of a plurality of electronic components used. The performances of the plurality of electronic components under consideration, e.g. transistor variations, are described by at least two statistical parameters, such as for example variations on threshold voltage V_(t) and variations on gain β, and at least one deterministic parameter such as for example slew rate or load. Hence the input domain is separated into a statistical and a deterministic domain. The method comprises making a first selection of design of experiments points from the statistical parameters and making a second selection from design of experiments point from the at least one deterministic parameter, performing simulations on the selected plurality of design of experiments points thus obtaining electrical system responses, and determining a response model using the plurality of selected design of experiments points an the electrical system responses. In accordance with this embodiment, making a first selection of design of experiment points for the at least two statistical parameters includes constructing a multi-dimensional probability density function representing multivariate statistics of the description of the electronic system, the probability density function showing a distribution of statistical parameters, and selection of the design of experiment points for the statistical parameters being based on the distribution of statistical parameters.

FIG. 3 shows a flow 30 describing steps in accordance with this embodiment to perform characterization of a description of the composition of an electronic system in terms of a plurality of components used, which flow aids in obtaining a two orders of magnitude speedup compared to the conventional flow as illustrated in FIG. 1.

The input domain is separated into a statistical and a deterministic domain. FIG. 3 only shows the part of one embodiment taking into account statistical variations, and, although part of one embodiment, does not illustrate statistical variations of parameters. A pre-processing step 31 is carried out on the statistical input domain to determine a small set of N_(doe) artificially generated points that represent the original sample of N random statistical parameters, e.g. ΔV_(t) and Δβ. The tremendous speedup of the flow in accordance with one embodiment relies on the fact that N_(doe)<<N, so the number of simulations to be carried out in step 24 is much smaller. After the N_(doe) selected simulations, a response model is determined—step 25—using the plurality of selected design of experiments points and the system responses obtained in step 24. This may for example be done by a model selection algorithm which searches for an optimal non-linear regression model relating inputs to outputs hence representing the outcome of the simulations.

After this, a large amount of statistical simulations, e.g. MC experiments, can be run using the response model, e.g. RSM model,—step 33—, because computing one run of such statistical simulation, for example one run of the regression function, is very fast.

The pre-processing step 31 according to certain embodiments is now looked at in more detail.

The first step in order to achieve a good response model, e.g. a good response surface fit, is to perform a design of experiments. The goal of this stage is to find N_(doe) points that are representative for the n-dimensional input space. In certain embodiments, the n input variables are random variables. In one particular embodiment, the n-dimensional input space is a two-dimensional input space, for example having as statistical parameters a variation ΔV_(t) on the threshold voltage and a variation Δβ on the gain.

Problem definition: Let a Monte Carlo ensemble ┌^(M) of size N of the n-dimensional function be given by

┌^(M)={{Vt₁,β₁, . . . ,Vt_(n),β_(n)}₁, . . . ,{Vt₁,β₁, . . . ,Vt_(n),β_(n)}_(NMC)}.

Find an alternative ensemble ┌^(B) with size N_(doe) given by

┌^(B)={{Vt₁,β₁, . . . ,Vt_(n),β_(n)}₁, . . . ,{Vt₁,β₁, . . . ,Vt_(n),β_(n)}_(Ndoe)}.

which is a good representation of the original input domain of the sample ┌^(M).

The novel DoE technique according to certain embodiments exploits existing knowledge about the statistical input variable domain to be sampled. This DoE allows fitting a response model, e.g. a linear response surface, that offers a proper balance between accuracy and input variable validity range. It also allows sufficient redundancy to enable extension to higher order approximations (2^(nd) or even 3^(rd) order) of a limited selection of terms. Higher order approximations are allowed if negligible terms are previously deleted, because by doing so degrees of freedom are freed.

To select appropriate points according to the DoE technique in accordance with certain embodiments there are two steps: 1) build an n-dimensional probability density function (PDF) representing the multivariate statistic of the description of the composition of the electronic system as a function of a plurality of components used, the PDF showing a distribution of statistical parameters, and 2) proper selection of 2n+1 DoE points based on the distribution of statistical parameters. These steps are described in more detail below.

The first step to construct the n-dimensional PDF, e.g. a multinormal n-dimensional PDF, is to partition the dataset into a plurality, k, of cluster components. According to one embodiment, “an information criterion”, also known as Bayesian Information Criteria (BIC) proposed by Schwarz, may be used as a method for selecting an optimal number k of cluster components. BIC is a measure of the goodness of fit of an estimated statistical model. In particular embodiments, a good number k of cluster components may be in the range 1 to 3. A clustering algorithm, for instance hierarchical clustering, may be applied to partition the dataset {V_(t1), β₁, . . . , V_(tn), β_(n)} into k cluster components. In particular embodiments the partitioning may for example be based upon a unit free, rescaled Euclidian distance criterion, which is a robust version of a Mahalanobis distance, thus guaranteeing a good partitioning when the dimensions have different units.

After clustering, a multivariate continuous probability distribution, e.g. a multivariate Normal distribution, is fitted to each cluster component {Vt_(t1), β₁, . . . , V_(tn), β_(n)}_(i). The PDF of a multivariate Normal distribution for a single component cluster i is described as:

$\begin{matrix} {{f_{i}\left( {\overset{->}{t},{\overset{->}{\mu}}_{i},S_{i}} \right)} = \frac{^{{- \frac{1}{2}}{{({t - \mu_{i}})} \cdot S_{i}^{- 1} \cdot {({t - \mu_{i}})}}}}{\left( {2\pi} \right)^{\frac{n}{2}}\sqrt{S_{i}}}} & (1) \end{matrix}$

wherein {right arrow over (μ)} is the vector of central value of the variables, S is the covariance matrix of the variables which is given by:

$\begin{matrix} {S = \begin{pmatrix} \sigma_{1}^{2} & {\rho_{12}\sigma_{1}\sigma_{2}} & \ldots & {\rho_{1n}\sigma_{1}\sigma_{n}} \\ {\rho_{12}\sigma_{2}\sigma_{1}} & \sigma_{2}^{2} & \ldots & {\rho_{2n}\sigma_{2}\sigma_{n}} \\ \vdots & \vdots & \ddots & \vdots \\ {\rho_{1n}\sigma_{n}\sigma_{1}} & {\rho_{2n}\sigma_{n}\sigma_{2}} & \ldots & \sigma_{n}^{2} \end{pmatrix}} & (2) \end{matrix}$

wherein ρ_(lm) is the correlation between variables l and m.

Then the multiple PDF's are accumulated, for example into a proportional sum weighted by cluster component size:

$\begin{matrix} {{f\left( \overset{->}{t} \right)} = \frac{\sum\limits_{i = 1}^{k}{w_{i}{f_{i}\left( {\overset{->}{t},{\overset{->}{\mu}}_{i},S_{i}} \right)}}}{\sum\limits_{i = 1}^{k}w_{i}}} & (3) \end{matrix}$

where and {right arrow over (μ)}_(i) and S_(i) are {right arrow over (μ)} and S of the variables of the cluster component i, w_(i) is its size. The sum weighted by cluster size is the best way to account for the different regions of the distribution. One possible alternative, however less advantageous, is Kernel Density Estimation, which has all clusters with size equal to 1.

Each data cluster generates a different covariance matrix S. It is to be noted that this approach excludes single data point cluster components, distinguishing this method for example from Kernel Density Estimation. FIG. 5 presents the result of the procedure described for a 2-dimensional combination of {ΔVt, Δβ} of a NMOS device. It can be seen that the built PDF function representing the 2-dimensional statistic shows a distribution of statistical parameters. The different regions 50, 51, 52, 53, 54, 55 in FIG. 5 correspond to the different regions each having a different confidence level as introduced above.

Preliminary values for the distribution parameters are computed from each cluster component sample statistically. This surrounds each cluster component mean with a Gaussian bell shape representing the diminishing weight of the cluster component as the PDF is interpolated at a greater distance from the component mean.

As the clustering algorithm specifically attributes each of the statistical samples of the statistical input domain to a specific cluster component, it is advisable to refine the preliminary distribution parameter values, for example with a maximum likelihood (ML) fitting algorithm. Because the ML values for a single component multinormal distribution are equal to the preliminary estimators, this refinement step can be skipped for single cluster component approximations.

After building the n-dimensional PDF function representing the multivariate statistic of the description of the composition of the electronic system, the DoE points are selected.

Hereto, each covariance matrix S may be decomposed using the diagonal matrix of σ values for each variable:

$\begin{matrix} {{S = {\sigma \cdot \rho \cdot \sigma}},{with}} & (4) \\ {\sigma = \begin{pmatrix} \sigma_{1} & 0 & \ldots & 0 \\ 0 & \sigma_{2} & \ldots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \ldots & \sigma_{b} \end{pmatrix}} & (5) \end{matrix}$

where σ is extracted as the square root of the matrix diagonal, so that ρ becomes the corresponding correlation matrix:

$\begin{matrix} {\rho = \begin{pmatrix} 1 & \rho_{12} & \ldots & \rho_{1n} \\ \rho_{12} & 1 & \ldots & \rho_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ \rho_{1n} & \rho_{2n} & \ldots & 1 \end{pmatrix}} & (6) \end{matrix}$

In effect, this standardizes the variables into unit free ones:

$\begin{matrix} {{f\left( {\overset{->}{t},\overset{->}{\mu},S} \right)} = \frac{^{{- \frac{1}{2}}{{(\frac{t - \mu}{\sigma})} \cdot \rho^{- 1} \cdot {(\frac{t - \mu}{\sigma})}}}}{\left( {2\pi} \right)^{\frac{n}{2}} \cdot \sqrt{S}}} & (7) \end{matrix}$

Next, a principal value decomposition of the correlation matrix may be performed:

ρ=R ^(T) ·E·R  (8)

where R is a rotation matrix, and E is the diagonal matrix of Eigenvalues:

$\begin{matrix} {E = \begin{pmatrix} e_{1} & 0 & \ldots & 0 \\ 0 & e_{2} & \ldots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \ldots & e_{n} \end{pmatrix}} & (9) \end{matrix}$

Overall, the covariance matrix of each cluster component may thus be decomposed as:

S=σ·R ^(T) ·E·R·σ  (10)

This decomposition describes a rotation of the variables into an equivalent set of independent Studentized variables t_(p) (studentized variables are variables which are adjusted by division by an estimate of a standard deviation of a population):

$\begin{matrix} {{\overset{->}{t}}_{p} = \frac{R \cdot \frac{\overset{->}{t} - \overset{->}{\mu}}{\overset{->}{\sigma}}}{\sqrt{\overset{->}{E}}}} & (11) \end{matrix}$

In the PDF contour plot, when the contours are ellipsoids, e.g. when approximating the distribution of the stochastic input parameters with a multinormal, the orientation of the rotated standardized axis system corresponds with the principal axes of ellipsoid contours of the multivariate PDF description.

$\begin{matrix} {{{f\left( {\overset{->}{t},\overset{->}{\mu},S} \right)} = \frac{^{{- \frac{1}{2}}{t_{p} \cdot t_{p}}}}{\left( {2\pi} \right)^{\frac{n}{2}} \cdot {\sigma } \cdot \sqrt{E}}}{wherein}} & (12) \\ {\sqrt{S} = {{{\sigma } \cdot \sqrt{E}} = {\prod\limits_{j = 1}^{n}{\sigma_{j}\sqrt{\prod\limits_{j = 1}^{n}e_{j}}}}}} & (13) \end{matrix}$

A next step is to find the ellipsoid describing the contour encompassing a specified confidence level, i.e. a predetermined percentage of the total distribution, e.g. 99.73%. In terms of total PDF content, this particular value corresponds with the 3σ limits in the univariate case. This useful concept for univariate statistics becomes ill defined in a multivariate context, however.

The χ2 distribution with ν degrees of freedom gives the distribution of sums of squares of ν values sampled from a normal distribution, so its CDF (Cumulative distribution function) can be used to sample the total probability covered by a hypersphere with a given radius. Thus, the ellipsoid describing the contour encompassing a specified percentage of the total distribution is defined by back-transforming the hypersphere with the radius defined by the inverse CDF of the χ2 distribution:

${q\; \chi^{2}} = \sqrt{2{f_{\Gamma}^{- 1}\left( {\frac{n}{2},0,{p\; \sigma}} \right)}}$

where ƒ_(┌) is the Regularized Gamma Distribution ρσ=∫₀ ^(l) ² χ²(t,ν)dt with ν=1 (one dimension) and l refers to how many σ from the center the designer wants to be confident on the outcome, i.e. l×σ s. If l=3 then ρσ=0.9973. Therefore, in terms of total PDF content, this value is the generalization of the 3σ limits valid for the univariate case. Next, the corresponding ellipsoid contour in the rotated parameter space is defined by:

${Ellipsoid}\left\{ \begin{matrix} {\overset{->}{c} = \lbrack 0\rbrack_{n}} \\ {\overset{->}{r} = {q\; \chi^{2}\sqrt{\overset{->}{e}}}} \\ {D = R} \end{matrix} \right.$

which represents a n-dimensional ellipsoid centered at the origin with semi-axis radii qχ²√{square root over ({right arrow over (e)} aligned with the direction R.

In accordance with certain embodiments, 2n+1 DoE points are selected. In accordance with certain embodiments, DoE points may be selected which are lying on the one hand within a predetermined first margin of the ellipsoid describing the contour encompassing the specified confidence level, and on the other hand within a predetermined second margin of the intersects thereof with the principal ellipsoid axes. In particularly preferred embodiments, the DoE points may be selected which are positioned at the intersects of the ellipsoid principal axes and that PDF contour. Also, an extra DoE point is added at the component center. This way, upfront relevant simulations to run are selected.

A response model, e.g. a response surface, can then be fitted to those selected DoE points. This approach offers a proper balance between sufficient accuracy and validity over the input variable range required for further statistical simulation, e.g. MC sampling, while still requiring a limited amount of terms in the generic propagation function to be fitted.

FIG. 6 presents the position of the Design of Experiments according to certain embodiments for selecting the relevant DoE points according to the statistical variation parameters of an inverter. The selected Statistical Design of Experiments points preserve the correlations among any combination of statistical parameters and are positioned at the region of interest defined by the selectable confidence level (indicated by 60). Large square dots 61 represent the selected DoE points

After selection of a limited number N_(doe) of DoE points, in accordance with certain embodiments, simulations may be run on this selected ensemble of N_(doe) DoE points—step 24. Using those runs, an appropriate response model, e.g. a regression model, may be computed to relate the statistical inputs to the simulated outputs—step 25.

Let Yi=H(┌_(i) ^(B)), for 1≦i≦N_(doe) be the set of system responses corresponding to the N_(doe) Design of Experiments points selected in accordance with certain embodiments. A problem to be solved may then be how to find an optimal regression model such as an approximation function F for approximating true function H:

F(x₁, . . . ,x_(p))≈H(x₁, . . . ,x_(p))

where p=2n so that x₁=V_(t1), x₂=β₁, . . . , x_(p−1)=V_(tn), x_(p)=βn, and the function F is a nonlinear function such as

F(x₁, …  , x_(p)) = α₁₁x₁ + α₁₂x₁² + … + α_(1z)x₁^(z) + … + α_(pz)x_(p)^(z) + ζ_(1₁2₁)x₁¹x₂¹ + ζ_(1₁3₁)x₁¹x₃¹ + ζ_(1₁p₁)x₁¹x_(p)¹ + … + ζ_(p₁p − 1₁)x_(p)¹x_(p − 1)¹ + ζ₁₂₃x₁x₂x₃ + … + ζ_(pp − 1p − 2)x_(p)x_(p − 1)x_(p − 2)

where z is the polynomial degree of the approximation function, α_(ij) is the coefficient multiplying variable x_(l) ^(j), and ζ_(ijkl) is the coefficient multiplying the interaction x_(l) ^(j) multiplied with x_(k) ¹. These coefficients are determined by a fitting procedure such as for example Least Squares Fit. The approximation function may be employed to substitute extremely CPU time intensive Monte Carlo simulations.

Both the true function H and the best approximation function F are unknown. The approximation function F will be employed later to predict the outputs for all statistical simulations, e.g. MC combinations of V_(t)'s and β's. For this purpose, using the full form of F as an approximation function would lead to bad predictions. This is because many linear and non-linear dependencies and cross dependencies are insignificant (and thus their coefficients should be ZEROED), although for example a least square (LS) regression algorithm finds coefficients different from zero for all terms of the given regression model. Thus, the LS algorithm, but also other regression algorithms, must have as input an appropriate function F. For this reason an algorithm in accordance with certain embodiments is described for model selection, which is responsible for finding a sufficiently accurate model.

Certain embodiments provide an algorithm for searching in the space of possible approximations and, without manual intervention or any previous knowledge about the system response (such as for example delay, power, etc.), provide the best possible non-linear function to approximate that response—step 32. The algorithm is divided into the following steps:

-   -   1. Initial Fit: fit a full linear model to the data;     -   2. Variable Screening: remove negligible terms; and     -   3. Model improvement: interactively add non-linear terms and         cross terms.

The selection algorithm according to certain embodiments uses a cost function to evaluate the model quality and to incrementally improve the accuracy of the regression model. By assessing this cost the model selection algorithm performs a search for the regression model that gives the optimum, for example minimum, cost. An example of a goodness of fit which may be used is Bayesian Information Criteria (BIC) proposed by Schwarz, which is given by:

BIC=log(N _(doe))k−2 ln(L(θ))

where k is the number of parameters and L(θ) is the likelihood of the model θ and N_(doe) is the number of simulations.

Given N_(doe) simulations, where ε_(i) represents the disagreement between the model and the simulation i, the appropriate likelihood function of a regression model is the residual sum of squares given by RSS=Σ_(i=0) ^(N) ^(doe) ε_(i) ². In this case BIC becomes:

$\begin{matrix} {{B\; I\; C} = {{{\log \left( N_{doe} \right)}k} - {N_{doe}\left\lbrack {\ln\left( \frac{\sum\limits_{i = 0}^{N_{doe}}ɛ_{i}^{2}}{N_{doe}} \right)} \right\rbrack}}} & (14) \end{matrix}$

BIC is better than L(θ) for model selection because L(θ) always increases as the number of parameters is increased, while BIC penalizes an increase of the number of parameters in the model. Thus, by adding a penalty to the number of coefficients, BIC prioritizes a model with the minimum number of variables so that the regression is meaningful, reducing the risk of over-fitting.

In accordance with certain embodiments, a first step to search for the best surrogate model is to fit the simplest regression model, which is a linear function with all the terms and no correlations, as in:

H _(i)=α₁ _(l) x ₁ _(i) +α₂ _(l) x ₂ _(i) + . . . +α_(p) _(l) x _(p) _(i) +ε_(i)  (15)

where H_(i) is the output of the i^(th) point, 1≦i≦N_(doe), run a system simulation, for example in hspice, which has the vector x of inputs. The LS method aims at minimizing the sum of errors given by Σ_(i=0) ^(Ndoe)ε_(i).

Not every variable has an influence on the system response. For instance, the rise delay of an inverter is only weakly related to V_(t) and β fluctuations of an NMOS transistor, and thus excluding these terms from the approximation function, or more generally those terms that do not have an influence on the system response, leads to a better model.

To solve this issue, in accordance with certain embodiments a step for refinement of the linear model is described. This phase is accomplished by detecting and removing linear terms that have a negligible contribution to the system response. The listing of algorithm 1 presents a possible procedure to remove negligible linear terms.

Algorithm 1 Variable screening repeat   for all variables x_(i) of function f do     f_(o) ← remove term x_(i) of function f     if AIC(f_(o)) < AIC(f) then       store f_(o) in list L sorted by AIC(f_(o))     end if   end for   f ← pick model from list L with lowest AIC until model does not improve

This method comprises iteratively checking the model BIC supposing one variable is removed, and then removing the variable for which removal leads to the best BIC. This iteration is performed until not removing any variables leads to a better BIC than removing one of the variables.

After executing the above procedure of variable screening, a linear model is obtained with a better BIC than the full linear model. This reduced model F is at the same time less complex and is a better approximation for H, and thus is more suitable for prediction.

A first order representation of the system response may not be sufficient for predicting the system characteristics with sufficient accuracy. As an example only, delay and power of a standard cell have non-linearities and cross-terms.

Algorithm 2 lists the procedure for finding a good non-linear model for the system response. It takes as inputs the simulations and the reduced linear model of algorithm 1. At each step, three operations are tried: (1) insert a higher order term (quadratic or cubic), (2) insert cross term for two existing terms and (3) remove an existing term. For each operation, the resulting model is stored in a list ranked by the model BIC. At each step, the operation that leads to the best local BIC is chosen. The iterative process stops when no operation leads to further model improvement.

Algorithm 2 Model improvement for k = 1..z do   repeat     for all variables x_(i) of function f do       f_(add) ← add term x_(i) ^(k)       store f_(add) in list L sorted by AIC(f_(add))       f_(remove) ← remove term x_(i)       store f_(remove) in list L sorted by AIC(f_(remove))       for all variables x_(j) of function f do         f_(correlation) ← add term x_(i) × x_(j)         store f_(correlation) in list L sorted by AIC(f_(correlation))       end for     end for     if best AIC stored in L < AIC(f) then       f ← pick model from list L with lowest AIC     end if   until model does not improve end for

FIG. 7 and FIG. 8 respectively present the comparison between the initial full linear model and the best model found using the optimization loop, in the particular case of the delay of a logic gate. The residuals of the linear model present a U-shape curve 70, which means a disastrous mismatch in the tails and is an indication of using the wrong regression model. The non-linear model presents a satisfactory fitting: it is constantly near 0 over the output domain with few outliers in the middle of the domain. Also, the maximum residual of the non-linear model is smaller than the linear model (1.5×10⁻⁵ instead of 6×10⁻⁴) and especially the tails fit much better. In fact the residuals of the non-linear model follow a Normal distribution and the linear one does not.

After approximating the fitted model, a plurality of samples is determined by performing a statistical analysis, for example by performing a statistical, e.g. Monte Carlo, simulation, on the determined response model, and by fitting a probability density function—step 33.

Thereafter, a method according to certain embodiments may comprise generating a closed-form representation of the determined plurality of samples.

One of the characteristics of the statistical selection of DoE in accordance with certain embodiments is the linear dependency between the number of points that need to be selected and the number of parameters being considered. In the context of one embodiment there are 2n+1 DoE points to be selected, with n the number of variation parameters, and furthermore n=2T, with T the total number of electronic components, for example transistors, in the electronic system, in case each electronic component has two variation parameters. For big systems this may become problematic since the number of electronic components involved in their netlist description may be large (a few hundred), and estimating the system output by using a regression model still requires a transient simulation, for example electrical or behavioral, for each selected DoE. Thus, depending on the size of the system, the number of required simulations may still be prohibitive.

Many large systems (complex standard cells, sections of array circuits such as memories, high-speed asynchronous interfaces, etc) contain sub-circuits or parts of them that are only active when particular combinations of input stimuli are selected. Examples are the set/reset functionality of large Flip-Flops (FF) that activate or deactivate most of the electronic components involved in the normal operation of the gate depending on their settings. Moreover, those set/reset electronic components are usually not involved during normal operation of the FF as well. Hence, they have no influence on variations observed in responses such as set-up time, hold-time, clock-to-q, etc. Still they significantly contribute to overall electronic component count (typically ⅓ of the total). It is clearly inefficient to spend precious CPU time on performing simulations targeted to understanding how the main electronic system metric responses depend on the variation parameter of these electronic components. Simply the, if the sensitivity of the system response to the electronic components is null in nominal conditions it will remain null under process variation as well.

Moreover, there are situations when despite the device under consideration is involved in the operation of the electronic system, the electronic system response for a particular set of input stimuli is still independent of its status. Very simple examples can be found in logic gates when considering particular transitions at its output. For instance, when considering a NAND gate and when assuming there is an interest in creating a model estimator for the delay of the gate during a rise transition. In this situation, only those electronic components that change their status (e.g., in case the electronic components are transistors, from cut-off operation to linear or vice versa) will play a role on the transition at the output of the gate, hence in the timing response of that one. Consequently parameter variations on these electronic components will have a direct impact on variations in the timing response of the gate for a rise transition. On the other hand, those electronic components of which the status remains unchanged during the whole electronic system output response will have no impact on the timing response of the electronic system. Consequently parameter variations on these electronic components will not have a direct impact on variations in the timing response of the electronic system for such response.

In order to solve this problem, in accordance with certain embodiments, a method 90 is provided for identifying the number of electronic components that are strictly required to estimate the response of the electronic system under changes of the variation parameters. FIG. 9 depicts a high-level description of a method according to certain embodiments, guaranteeing a sub-linear dependency between the required number of DoE points and the number of electronic components of the system. As a start—step 91—N variation parameters are considered, where N=2T, T being the total number of electronic components in the electronic system, and each electronic component having two variation parameters. From the initial set of T electronic components, a subset K (K<T) is identified—step 92—that can be used to perform the statistical DoE (with 2 m+1 points with m=2K) while not incurring any loss of accuracy. In this way, a sub-linear relationship is obtained between the number of required DoE points and the number of electronic components of the electronic system as required for electronic systems containing a large number of electronic components. It is to be emphasized that it is only of interest to identify these electronic components for which variations on their parameters will have a direct impact on variations on the response of the electronic system under a particular stimuli set. It is not of relevance to identify which electronic components are involved in the correct operation of the system, regardless the stimuli set. Thereafter, a statistical DoE selection is performed in accordance with certain embodiments over the variation parameters of these identified K electronic components where M=2K<2T—step 93.

FIG. 10 depicts a detailed flow of the step 92 to identify a subset of K<T electronic components that change state during electronic system response under a set of input stimuli vectors by means of performing a static simulation of the operating point of the electronic system for each vector. In a first substep 101, a set of input vectors is identified that activate a response or transition. In substep 102, for each input vector, corresponding stimuli are applied to the inputs of the electronic system, and in substep 103 a static simulation of the operating point of the electronic system is performed by means of an electrical simulator or a logic simulator depending on the nature of the electronic system under consideration (transistor level circuit or gate level netlist) and the state of each electronic component in the electronic system is obtained for each input stimulus. Steps 102 and 103 are repeated for every vector activating the responses/transitions of step 101—step 104. Electronic components are then identified of which the state remains unchanged irrespective of the applied vector. These electronic components are eliminated from the list—step 105. Moreover, electronic components are identified of which the state is different for at least one of the applied vectors. These electronic components become part of the subset of K electronic components, with K<T—step 106.

A Variability Aware Modeling (VAM) concept may be based upon Monte Carlo based computations performed at several levels of chip design: at each stage of the VAM, the variability of a set of input parameters is injected into an existing simulator in a Monte Carlo fashion, propagating the behavior of the design from one abstraction level to another to obtain the corresponding variability of the output parameters. E.g., at a given level, the variability of the transistor parameters may be injected into HSPICE simulations. For larger designs, the Monte Carlo sample size required to cover the output distribution over a sufficiently wide variability range to warrant accurate predictions up to the parametric yield levels commonly specified for current technologies at the system performance level, combined with the computation time required for simulation of a single instantiation of the input parameter set, would lead to a prohibitively large computational effort. This limitation can be partially intercepted with methods like Exponential Monte Carlo (EMC), but when the input distributions are themselves supplied in the form of a discrete set of MC runs performed at a lower abstraction level of the VAM, the input dataset has to be re sampled, and then the problem arises that extreme values are too often re-picked, leading to possibly severe artificial distortion of the tails of the output distribution found, including the (parametric) yield region of interest. To avoid the re-sampling, it is better to replace the discrete input sample dataset with a continuous “covering” input PDF approximation in accordance with certain embodiments.

In a first step, Cumulative Distribution Function (CDF) levels are estimated for data points with median ranks. The exact median ranks for the ordered sample data points may be defined by the integral equation:

$\begin{matrix} \begin{matrix} {\frac{{n!}{\int_{0}^{x_{rm}}{{x_{r}^{r - 1}\left( {1 - x_{r}} \right)}^{n - r}{x_{r}}}}}{{\left( {r - 1} \right)!}{\left( {n - r} \right)!}} = {\int_{0}^{x_{rm}}{{f_{\beta}\left\lbrack x_{r} \right\rbrack}{x_{r}}}}} \\ {= {{BetaRegularized}\left\lbrack {x_{r},r,{n - r + 1}} \right\rbrack}} \\ {= 0.5} \end{matrix} & (16) \end{matrix}$

The Bénard formula is commonly used as a very good approximation for the solution of that equation:

$\begin{matrix} {x_{rm} \approx \frac{r - {.3}}{n + {.4}}} & (17) \end{matrix}$

where r is the rank number of each element of the ordered sample data points and n is the total number of sample points.

In a second step, the estimated CDF levels are transformed into probits. The probit function is the inverse cumulative Normal distribution function. The problem with the regularized Beta distribution underlying the ranks is that for most of them, it is very asymmetric, especially for the outer ones, as illustrated in FIG. 12 (e.g. r=1 and r=7).

This renders the standard deviation less useful for estimation of weights for the median ranks. Therefore, the rank distribution is considered on a transformed scale.

When performing a Probit transform onto the cumulative distribution estimators, the error bars on them can be propagated to the Probits using the following propagation theorem: for a distribution with PDF f[x], the PDF corresponding with a monotonic function y=h[x] of x becomes:

$\begin{matrix} \frac{f\left\lbrack {h^{({- 1})}\lbrack y\rbrack} \right\rbrack}{{h^{\prime}\left\lbrack {h^{({- 1})}\lbrack y\rbrack} \right\rbrack}} & (18) \end{matrix}$

When h[x] is the Probit transform applied onto the cumulative distribution estimators F_(r) of a sample, the theorem leads to:

h[x] = F_(N)^([−1])[F_(r)] = x_(Nr) ⇒ h^([−1])[y] = F_(N)[x_(Nr)]; ${{{h^{\prime}\left\lbrack {h^{\lbrack{- 1}\rbrack}\lbrack y\rbrack} \right\rbrack}} = {\frac{\partial{F_{N}^{\lbrack{- 1}\rbrack}\left\lbrack {F_{N}\left\lbrack x_{Nr} \right\rbrack} \right\rbrack}}{\partial{F_{N}\left\lbrack x_{Nr} \right\rbrack}} = {\frac{1}{\frac{\partial{F_{N}\left\lbrack x_{Nr} \right\rbrack}}{\partial\; x_{Nr}}} = \frac{1}{f_{N}\left\lbrack x_{Nr} \right\rbrack}}}};$

Thus, the PDF of x_(Nr) becomes:

ƒ[x _(Nr)]=ƒ_(N) [x _(Nr)]ƒ_(β) [F _(N) [x _(Nr) ],r,n−r+1]  (19)

This transform restores the symmetry of the underlying distribution to a large extent, as illustrated in FIG. 13.

Using the transformed density function ƒ[x_(Nr)], the variance based weights for any of the median rank Probits x_(Nrm) can be computed as:

$\begin{matrix} {{w_{Nr} = \frac{1}{\int_{- \infty}^{\infty}{\left( {x_{N} - x_{Nrm}} \right)^{2}{f_{N}\left\lbrack x_{N} \right\rbrack}{f_{\beta}\left\lbrack {{F_{N}\left\lbrack x_{N} \right\rbrack},r,{n - r + 1}} \right\rbrack}{x_{N}}}}}{with}} & (20) \\ {x_{Nrm} \approx {F_{N}^{\lbrack{- 1}\rbrack}\left\lbrack \frac{r - {.3}}{n + {.4}} \right\rbrack}} & (21) \end{matrix}$

This way, fixed weights are computed for median ranks probits X_(Nmm), which can be stored into a support table along with the X_(Nrm) values.

In a next step, a weighted linear fit may be performed on the probits using the fixed weights multiplied with the variable Gaussian weights.

The interpolation is based upon a variable weighted linear probit interpolation. Weighting is performed in 2 different ways: each Benard median rank probit estimator receives a weight equal to the inverse of the variance of this estimator (times the number of ties in the dataset, if present). As the probit variance computation is a time consuming process based upon numerical integration, it is better to compute and store the fixed weights first. Then, these weights are input to a next module which computes the local sigma values. These weights and the local sigma values are stored together with the dataset, thus the data is represented by 4 columns: 1) dataset; 2) CDF estimator Probits 3) Probit weights and 4) local sigma values. Next, the module performs a different weighted linear interpolation for each x value supplied to it using Gaussian PDF weights depending on the distance from each input x value to the running x value in combination with the fixed weights for the Probit estimates.

$\begin{matrix} {{w_{k} = {w_{Nr}w_{Gr}}}{with}} & (22) \\ {w_{Gr} = \frac{^{{- \frac{1}{2}}{(\frac{x - x_{r}}{\sigma_{wr}})}^{2}}}{\sigma_{wr}}} & (23) \end{matrix}$

The weighted least squares intercept and slope of the weighted Probit curve are defined by:

$\begin{matrix} {{a_{0} = \frac{{\left( {\sum\limits_{r = 1}^{n}{w_{r}x_{r}^{2}}} \right){\sum\limits_{r = 1}^{n}{w_{r}y_{r}}}} - {\left( {\sum\limits_{r = 1}^{n}{w_{r}x_{r}}} \right){\sum\limits_{r = 1}^{n}{w_{r}x_{r}y_{r}}}}}{{\left( {\sum\limits_{r = 1}^{n}w_{r}} \right){\sum\limits_{r = 1}^{n}{w_{r}x_{r}^{2}}}} - \left( {\sum\limits_{r = 1}^{n}{w_{r}x_{r}}} \right)^{2}}}{a_{1} = \frac{{\left( {\sum\limits_{r = 1}^{n}w_{r}} \right){\sum\limits_{r = 1}^{n}{w_{r}x_{r}y_{r}}}} - {\left( {\sum\limits_{r = 1}^{n}{w_{r}x_{r}}} \right){\sum\limits_{r = 1}^{n}{w_{r}y_{r}}}}}{{\left( {\sum\limits_{r = 1}^{n}w_{r}} \right){\sum\limits_{r = 1}^{n}{w_{r}x_{r}^{2}}}} - \left( {\sum\limits_{r = 1}^{n}{w_{r}x_{r}}} \right)^{2}}}} & (24) \end{matrix}$

This way, all data points contribute in the weighted linear fit, but “nearby” data points receive larger weight, wherein the extra local spread parameter σ_(wr) in w_(Gr) defines “nearby”. The variable Gaussian weighting induces an extra complication however, as the a₀ and a₁ coefficients become a function of x.

x _(N) [x]=F _(N) ^([−1]) [F[x]]=a ₀ [x]+a ₁ [x]·x  (25)

Thus the PDF of the approximation can be computed as:

$\begin{matrix} {{{f\lbrack x\rbrack} \approx {{f_{N}\left\lbrack x_{N} \right\rbrack}\frac{\partial{x_{N}\lbrack x\rbrack}}{\partial x}}} = {{f_{N}\left\lbrack x_{N} \right\rbrack}\left( {{a_{0}^{\prime}\lbrack x\rbrack} + {{a_{1}^{\prime}\lbrack x\rbrack} \cdot x} + {a_{1}\lbrack x\rbrack}} \right)}} & (26) \end{matrix}$

Also because of the variable weighting, extra sums leading to the coefficient derivatives a₀′[x] and a₁′[x] are required for the PDF approximation. It is to be noted that the special case of a constant a₁ value corresponds with a Normal distribution.

In a next step, variable Gaussian weights may be auto-calibrated.

The inverse of the local slope of the weighted LS Probit curve reflects the local data spread, also at the data points:

$\begin{matrix} {\sigma_{WT} = \frac{1}{a_{1}\left\lbrack x_{r} \right\rbrack}} & (27) \end{matrix}$

Based on self-consistency, the local σ_(wr) values can be calibrated with the following procedure:

-   -   Initialize all σ_(wr) values to s′ of dataset     -   Compute a₁[x] values in all x_(r)     -   Store

$\frac{1}{a_{1}}$

as the new σ_(wr) values

-   -   Iterate till convergence

Thus, the distribution sample is extended into the following support table for the interpolation: {data point x_(r), Probit estimate x_(Nrm), fixed Probit weight w_(NR), local sigma value σ_(wr) for variable weighting}.

In the above-described interpolation method according to certain embodiments, it does not exclude descending CDF regions in between relatively widely spaced data points (e.g. outliers) in the tails of the distribution sample, so that it behaves properly when applied to statistically well behaved sample data sets. This is, however, a.o. the case for all essentially digital parametric responses of electronics systems.

FIG. 14 and FIG. 15 illustrate the method according to certain embodiments with a sample interpolation of a threshold voltage distribution both for the PDF (graph 140) and the CDF (graph 150), respectively.

A covering CDF representation is constructed from a limited size MC sample that

-   -   avoids histograms (problem with binning choices),     -   is a continuous function,     -   mimics the underlying PDF with sufficient accuracy,     -   reproduces central values and second order central moments, and     -   avoids re-picking entries when re-sampling with larger sample         size.

A final step of a method according to certain embodiments may comprise running a full statistical simulation, e.g. the full Monte Carlo simulation, interpolating over the function approximating the earlier simulation, e.g. electrical simulation or behavioral simulation. In other words, the statistics of F(x),∀xε┌^(M) are computed. The complexity of applying one input vector to function F is O(1) and this is many orders of magnitudes faster than running one electrical simulation.

EXAMPLE

FIG. 16 and FIG. 17 present the distributions of time to rise of a NAND2 gate, comparing Monte Carlo (graph 160) with RSM according to certain embodiments using the linear (graph 161) and the improved non-linear models (graph 162). FIG. 16 shows the comparison of the PDF, while FIG. 17 shows the CDF on a probit scale, which magnifies discrepancies in the tails of the distributions.

FIG. 17 shows that the interpolation made using the improved non-linear function 173 according to certain embodiments lies within the confidence intervals 170 of MC (graph 171), implying the RSM has no statistical difference from the MC using electrical simulations. The confidence intervals of the non-linear function 173 are indicated as 174. Also indicated in FIG. 17 is the linear RSM (graph 172) with confidence intervals 175. Prior art Monte Carlo simulation consists of 1000 runs of Cadence NDC (2 h), while in this case RSM according to certain embodiments needs only 17 runs, whose runtime is approximately 1 minute. The time for performing the pre-processing step on the statistical input domain, for model improvement and for interpolating the approximation function with the Monte Carlo inputs is around 5-10 seconds. Although RSM requires only 17 HSPICE runs, a sample size of 1000 is generated from the surrogate models. It can be seen that the non-linear model has better accuracy than the linear model.

FIG. 18 shows a comparison between RSM in accordance with certain embodiments and MC HSPICE as a function of variable sample sizes. This Figure shows that if the number of MC runs is decreased from 1000 to 100, the confidence bands get significantly wider (from confidence bands 180 to confidence bands 181), which means that the uncertainty in the estimates decreases and the interval where the actual statistics may lie increases. On the other hand, RSM using sample size of 1000 has similar accuracy to MC using sample size of 1000 (indicated by confidence bands 182).

FIG. 19 presents the point-by-point distribution of relative errors produced by linear and non-linear RSM in accordance with certain embodiments. A linear regression model can have discrepancies up to ±90% compared to MC. The non-linear model produced by the model improvement algorithm presents the average of errors as being 1% and standard deviation as 8%. Also, the errors of the RSM follow a Normal distribution, which means there is no systematic cause of discrepancies.

The MC approach requires approximately 2 hours for one cell. A standard cell library usually has around 2000 cells. This translates into a total of 165 days to perform MC simulations to characterize the library. On the other hand, RSM in accordance with certain embodiments requires 1 minute per cell, meaning a total of 30 h for characterizing the complete cell library. Thus, a speedup of two orders of magnitude (from 165 days to 1 day) is achieved without loss of accuracy when using a method in accordance with certain embodiments.

FIG. 20 shows a block diagram illustrating one embodiment of a system for performing a characterization of a description of the composition of an electronic system in terms of a plurality of components used. Performances of the plurality of components are described by at least two statistical parameters and at least one deterministic parameter.

The system 200 comprises a first input port 202 configured to receive a description of the composition of an electronic system in terms of a plurality of components used. The system 200 can comprise a second input port 204 configured to receive a distribution of statistical properties of the performances of the plurality of components of the electronic system. The system 200 can comprise a third input port 206 configured to receive a distribution of at least one deterministic parameter of the plurality of components of the electronic system. The system 200 can comprise a selector 214 configured to select a plurality of design of experiments points. The system 200 can comprise a simulator 208 configured to perform simulations on the selected plurality of design of experiments points, thus obtaining electrical system responses. The system 200 can comprise a modeling unit 212 configured to determine a response model using the plurality of selected design of experiments points and the electrical system responses. The selector 214 can comprise a first sub-selector 216 for making a first selection of design of experiments points for the statistical parameters and a second sub-selector 218 for making a second selection of design of experiments points for the at least one deterministic parameter.

Although systems and methods as disclosed, is embodied in the form of various discrete functional blocks, the system could equally well be embodied in an arrangement in which the functions of any one or more of those blocks or indeed, all of the functions thereof, are realized, for example, by one or more appropriately programmed processors or devices.

It is to be noted that the processor or processors may be a general purpose, or a special purpose processor, and may be for inclusion in a device, e.g., a chip that has other components that perform other functions. Thus, one or more embodiments can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Furthermore, certain embodiments can be implemented in a computer program product stored in a computer-readable medium for execution by a programmable processor. Method steps of certain embodiments may be performed by a programmable processor executing instructions to perform functions of certain embodiments, e.g., by operating on input data and generating output data. Accordingly, the embodiment includes a computer program product which provides the functionality of any of the methods described above when executed on a computing device. Further, the embodiment includes a data carrier such as for example a CD-ROM or a diskette which stores the computer product in a machine-readable form and which executes at least one of the methods described above when executed on a computing device.

The foregoing description details certain embodiments of the invention. It will be appreciated, however, that no matter how detailed the foregoing appears in text, the invention may be practiced in many ways. It should be noted that the use of particular terminology when describing certain features or aspects of the invention should not be taken to imply that the terminology is being re-defined herein to be restricted to including any specific characteristics of the features or aspects of the invention with which that terminology is associated.

Other variations to the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed invention, from a study of the drawings, the disclosure and the appended claims. In the claims, the word “comprising” does not exclude other elements or steps, and the indefinite article “a” or “an” does not exclude a plurality. A single processor or other unit may fulfill the functions of several items recited in the claims. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage. A computer program may be stored/distributed on a suitable medium, such as an optical storage medium or a solid-state medium supplied together with or as part of other hardware, but may also be distributed in other forms, such as via the Internet or other wired or wireless telecommunication systems. Any reference signs in the claims should not be construed as limiting the scope.

While the above detailed description has shown, described, and pointed out novel features of the invention as applied to various embodiments, it will be understood that various omissions, substitutions, and changes in the form and details of the device or process illustrated may be made by those skilled in the technology without departing from the spirit of the invention. The scope of the invention is indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope. 

1. A method of performing a characterization of a description of the composition of an electronic system in terms of a plurality of components used, performances of the plurality of components being described by at least two statistical parameters and at least one deterministic parameter, the method comprising: selecting a plurality of design of experiments (DoE) points; performing simulations on the selected plurality of design of experiments points, thus obtaining electrical system responses; and determining a response model using the plurality of selected design of experiments points and the electrical system responses, wherein selecting the plurality of design of experiments points comprises: making a first selection of design of experiments points for the statistical parameters, and making a second selection of design of experiments points for the at least one deterministic parameter.
 2. The method according to claim 1, wherein selecting the plurality of design of experiments points further comprises entering a statistical confidence level, and wherein making a first selection of DoE points for the statistical parameters comprises selecting points of a statistical parameter distribution being representative for the statistical parameters based on representativeness of the statistical confidence level behind the statistical parameter distribution.
 3. The method according to claim 1, wherein making a first selection of design of experiment points for the statistical parameters comprises constructing a multi-dimensional probability density function representing a multivariate statistics dataset of the description of the composition of the electronic system, the probability density function showing a distribution of statistical parameters, and selecting the design of experiment points for the statistical parameters based on the distribution of statistical parameters.
 4. The method according to claim 3, wherein constructing a multi-dimensional probability density function representing multivariate statistics of the description of the composition of the electronic system comprises: partitioning the multivariate statistics dataset into a plurality of cluster components, fitting a multivariate distribution to each cluster component and determining its probability density function, and accumulating the multiple probability density functions of the cluster components into a proportional sum weighted by cluster component size, this being the multi-dimensional probability density function representing the multivariate statistics dataset of the description of the composition of the electronic system.
 5. The method according to claim 3, wherein the multi-dimensional probability density function is n-dimensional, and the number of selected design of experiments points is 2n+1.
 6. The method according to claim 5, wherein the multi-dimensional probability density function is represented in a PDF contour plot by an ellipsoid contour, and wherein the design of experiments points are selected as lying on the one hand within a predetermined first margin of the ellipsoid describing the contour encompassing a predetermined percentage of the total distribution and on the other hand within a predetermined second margin of the intersects thereof with the principal ellipsoid axes.
 7. The method according to claim 6, wherein the design of experiments points are selected as lying both on the ellipsoid describing the contour encompassing a predetermined percentage of the total distribution and on the intersects thereof with the principal ellipsoid axes.
 8. The method according to claim 1, wherein determining a response model comprises detecting and removing linear terms that have a negligible contribution to the system response.
 9. The method according to claim 1, further comprising, before selecting a plurality of design of experiments points, identifying individual components of the electronic system which have no influence on the circuit response.
 10. A system-level simulator adapted for carrying out a method according to claim
 1. 11. The system-level simulator according to claim 10, comprising: a first input port configured to receive a description of the composition of an electronic system in terms of a plurality of components used; a second input port configured to receive a distribution of statistical properties of the performances of the plurality of components of the electronic system; a third input port configured to receive a distribution of at least one deterministic parameter of the plurality of components of the electronic system; a selector configured to select a plurality of design of experiments points; a simulator configured to perform simulations on the selected plurality of design of experiments points, thus obtaining electrical system responses; and a modeling unit configured to determine a response model using the plurality of selected design of experiments points and the electrical system responses, wherein the selector comprises a first sub-selector for making a first selection of design of experiments points for the statistical parameters and a second sub-selector for making a second selection of design of experiments points for the at least one deterministic parameter.
 12. The system-level simulator according to claim 11, further comprising a fourth input port configured to receive a statistical confidence level, and wherein the selector is configured to select those points of a statistical parameter distribution which are representative for the statistical parameters based on representativeness of the statistical confidence level behind such statistical parameter distribution.
 13. A non-transitory computer-readable medium having stored therein a program which, when executed on a processor, performs the method according to claim
 1. 14. A system for performing a characterization of a description of the composition of an electronic system in terms of a plurality of components used, performances of the plurality of components being described by at least two statistical parameters and at least one deterministic parameter, the system comprising: means for selecting a plurality of design of experiments points; means for performing simulations on the selected plurality of design of experiments points, thus obtaining electrical system responses; and means for determining a response model using the plurality of selected design of experiments points and the electrical system responses, wherein the selecting means comprises: means for making a first selection of design of experiments points for the statistical parameters, and means for making a second selection of design of experiments points for the at least one deterministic parameter.
 15. The system according to claim 14, further comprising means for receiving a statistical confidence level, and wherein the selecting means further comprising means for selecting those points of a statistical parameter distribution which are representative for the statistical parameters based on representativeness of the statistical confidence level behind such statistical parameter distribution.
 16. A system for performing a characterization of a description of the composition of an electronic system in terms of a plurality of components used, performances of the plurality of components being described by at least two statistical parameters and at least one deterministic parameter, the system comprising: an input port configured to receive a description of the composition of an electronic system in terms of a plurality of components used, to receive a distribution of statistical properties of the performances of the plurality of components of the electronic system, and to receive a distribution of at least one deterministic parameter of the plurality of components of the electronic system; a selector configured to select a plurality of design of experiments points; a simulator configured to perform simulations on the selected plurality of design of experiments points, thus obtaining electrical system responses; and a modeling unit configured to determine a response model using the plurality of selected design of experiments points and the electrical system responses, wherein the selector comprises a first sub-selector for making a first selection of design of experiments points for the statistical parameters and a second sub-selector for making a second selection of design of experiments points for the at least one deterministic parameter.
 17. The system according to claim 16, wherein the input port is further configured to receive a statistical confidence level, and wherein the selector is configured to select those points of a statistical parameter distribution which are representative for the statistical parameters based on representativeness of the statistical confidence level behind such statistical parameter distribution.
 18. The system according to claim 16, wherein the modeling unit is configured to detect and remove linear terms that have a negligible contribution to the system response.
 19. The system according to claim 16, further comprising an identification unit configured to, before a plurality of design of experiments points are selected, identify individual components of the electronic system which have no influence on the circuit response.
 20. The system according to claim 16, wherein the selector is configured to enter a statistical confidence level, and wherein the first sub-selector is configured to select points of a statistical parameter distribution being representative for the statistical parameters based on representativeness of the statistical confidence level behind the statistical parameter distribution. 